package com.cheng.student.controller.filter;

import javax.servlet.*;
import javax.servlet.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

//本filter旨在确保验证码没有过期
@WebFilter(filterName = "CheckCodeFilter", urlPatterns = "/login/*")
public class CheckCodeFilter
        implements Filter
{
    public void init(FilterConfig config)
            throws ServletException
    {
    }

    public void destroy()
    {
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws ServletException, IOException
    {
        HttpServletRequest request1 = (HttpServletRequest)request;
        HttpServletResponse response1 = (HttpServletResponse)response;
        HttpSession session = request1.getSession();

        String verificationCode = (String)session.getAttribute("verificationCode");

        if (verificationCode == null)
        {
            response1.setHeader("loginInformation","checkCodeOutOfDate");
//            response1.getWriter().write("请重新获取验证码");
            return;
        }
        else
        {
            session.setMaxInactiveInterval(5);
        }
        chain.doFilter(request, response);
    }
}
